/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package studio7i;

import studio7i.*;
import org.junit.Test;
import static org.junit.Assert.*;



public class AdmInstrumentos {
   
    @Test
    public void debeRegistrarInstrumento() {
        String codigo = "L001";
        String tipo = "guitarra";
        String marca = "Yamaha";
        String modelo = "Squier";
        String anno_fab = "1998";
        String caracteristica = "rojo";
        String costo_alq_hora = "20.00";

        AdmInstru adm = new AdmInstru();
        int esperados = 1;

        adm.registrarInstrumento(codigo, tipo, marca, modelo, anno_fab, caracteristica, costo_alq_hora);
        int obtenidos = adm.obtenerTotal();

        assertEquals(esperados, obtenidos);
        System.out.println("Se realizó el registro del Instrumento ... OK");
    }

    @Test
    public void debeRegistrarMasDeUnInstrumento() {
        //preparacion de la prueba
        String codigo1 = "L001";
        String tipo1 = "guitarra";
        String marca1 = "Yamaha";
        String modelo1 = "Squier";
        String anno_fab1 = "1998";
        String caracteristica1 = "rojo";
        String costo_alq_hora1 = "20.00";

        String codigo2 = "L002";
        String tipo2 = "bateria";
        String marca2 = "Fender";
        String modelo2 = "Squier";
        String anno_fab2 = "2003";
        String caracteristica2 = "plomo";
        String costo_alq_hora2 = "100.00";

        AdmInstru adm = new AdmInstru();
        int esperados = 2;

        adm.registrarInstrumento(codigo1, tipo1, marca1, modelo1, anno_fab1, caracteristica1, costo_alq_hora1);
        adm.registrarInstrumento(codigo2, tipo2, marca2, modelo2, anno_fab2, caracteristica2, costo_alq_hora2);
        int obtenidos = adm.obtenerTotal();

        assertEquals(esperados, obtenidos);
        System.out.println("Se registraron "+ obtenidos + " Instrumentos");
    }


    @Test
    public void noDebemosPermitirCodigosDuplicados(){

        String codigo1 = "L001";
        String tipo1 = "guitarra";
        String marca1 = "Yamaha";
        String modelo1 = "Squier";
        String anno_fab1 = "1998";
        String caracteristica1 = "rojo";
        String costo_alq_hora1 = "20.00";

        String tipo2 = "bateria";
        String marca2 = "Fender";
        String modelo2 = "Squier";
        String anno_fab2 = "2003";
        String caracteristica2 = "plomo";
        String costo_alq_hora2 = "100.00";

        AdmInstru adm = new AdmInstru();

        boolean registrado1 = adm.registrarInstrumento(codigo1, tipo1, marca1, modelo1, anno_fab1, caracteristica1, costo_alq_hora1);
        boolean registrado2 = adm.registrarInstrumento(codigo1, tipo2, marca2, modelo2, anno_fab2, caracteristica2, costo_alq_hora2);

        assertTrue(registrado1 && !registrado2);
        System.out.println("Codigos duplicados");
    }


    @Test
    public void InstrumentoDebeCrearseConTodosLosDatos(){
        System.out.println("Registrar instrumento con todos sus datos: Codigo, Tipo, Marca, Modelo, Año de Fabrica, Caracteristicas, Costo de Alquiler x Hora");
        String codigo = "L001";
        String tipo = "guitarra";
        String marca = "Yamaha";
        String modelo = "Squier";
        String anno_fab = "1998";
        String caracteristica = "rojo";
        String costo_alq_hora = "20.00";

        Instrumento adm = new Instrumento(codigo, tipo, marca, modelo, anno_fab, caracteristica, costo_alq_hora);
        assertTrue(codigo.equals(adm.getCodigo()) && tipo.equals(adm.getTipo()) && marca.equals(adm.getMarca()) &&
                modelo.equals(adm.getModelo()) && anno_fab.equals(adm.getAnno_fab()) && caracteristica.equals(adm.getCaracteristica())
                && costo_alq_hora.equals(adm.getCosto_alq_hora()));
        
    }



}
